package priv.dajie.tzzq.bot;

import priv.dajie.tzzq.bot.exception.SellException;
import priv.dajie.tzzq.bot.model.*;

import java.util.List;

/**
 * @author dajie
 */
public interface Bot {
    /**
    * 获取平台背包列表
    *@return 返回平台背包列表
    *@author dajie
    *@date 2019/9/16
    **/
    PackItems getPack();

    /**
    * 获取7天内商品的历史交易价格
    * @param goodId 商品对应平台的ID
    * @return 历史价格列表
    * @author dajie
    * @date 2019/9/16
    */
    HistoryPrices getHistoryPrice(String goodId);

    /**
    * 获取指定天数内商品的历史交易价格
    * @param goodId 商品id
    * @param day 需要获取的天数，最大7天
    * @return 历史价格列表
    * @author dajie
    * @date 2019/9/16
    */
    HistoryPrices getHistoryPrice(String goodId, int day);
    List<SellItem> getSellItemsBySteamName(String steamName);
    List<SellItem> getSellItemsByID(String id);
    List<SellItem> getSellItems(String name, NameType nameType);
    List<BuyItem> getBuyItemsBySteamName(String steamName);
    BuyHistoryItems getBuyHistory(int pageMax, String id, long time);
    BuyHistoryItems getBuyHistoryByTime(long time);
    BuyHistoryItems getBuyHistory(int pageMax);
    BuyState buy(SellItem sellItem);
    String[] autoTakeBack(List<PackItem> packItems);
    String[] takeBack(List<PackItem> packItems);
    SellingMap getSelfSell();
    SellingMap getOnSell();
    ChangePriceResults changePrice(List<SellingItem> sellingItems) throws SellException;
    boolean isTrading();
    TrackStateInfo[] tracker(String[] IDs);

}
